package java061;

import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Collectors;

public class zy06 {
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);

        List<Integer> list2 = new ArrayList<>();
        list2.add(3);
        list2.add(4);
        list2.add(5);
        list2.add(2);

        List<Integer> result = merge(list1, list2);

        System.out.println(result);
    }

    public static List<Integer> merge(List<Integer> list1, List<Integer> list2) {
        List<Integer> result = new ArrayList<>();
        Predicate<Integer> notInList2 = item -> !list2.contains(item);
        Predicate<Integer> notInList1 = item -> !list1.contains(item);

        result.addAll(list1.stream().filter(notInList2).collect(Collectors.toList()));
        result.addAll(list2.stream().filter(notInList1).collect(Collectors.toList()));

        return result;
    }
}

  
